home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
AGSUOA20.ZIP
/
AGSUOL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-03-03
|
9KB
|
470 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer TINTEGER005(5)
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
String STRING001
String STRING002
String TSTRING003(15)
String TSTRING004(15)
String STRING005
String STRING006
String TSTRING007(3)
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
;------------------------------------------------------------------------------
StartDisp 1
KbdFlush
INTEGER007 = 7
INTEGER006 = 7
INTEGER003 = 0
INTEGER004 = 0
TINTEGER005(0) = 22
TINTEGER005(1) = 3
TINTEGER005(2) = 22
TINTEGER005(3) = 29
TINTEGER005(4) = 22
TINTEGER005(5) = 57
STRING005 = "@X21"
STRING006 = "@X01"
TSTRING007(0) = " qUIT^bACK^tO^bOARD "
TSTRING007(1) = " aDD^yAR^oWN^oNELINER "
TSTRING007(2) = " vIEW^wHO^wROTE^wHAT "
RdUNet PcbNode()
WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "USiNG AGS UNReAL 1LiNeR", " "
FOpen 1, PPEPath() + "AGSUOL.DAT", 0, 2
For INTEGER001 = 1 To 15
FGet 1, TSTRING003(INTEGER001)
TSTRING003(INTEGER001) = Trim(TSTRING003(INTEGER001), " ")
FGet 1, TSTRING004(INTEGER001)
Next
FClose 1
PrintLn "@CLS@@POFF@ @X01/\______/\_______/\_____/\___ _ __ ____/\_______/\_____/\________/\______"
PrintLn " @X05/ . / \ / ____ \_________/ \ / ___________ \ _____/"
PrintLn " @X02/ / / / ___)__ / \ \ / ___)__ / _/___ \_"
PrintLn " @X03\_______\___\ /_____ /______ /_____/__\ /_____ /___/ \_____ /"
PrintLn "@X01.-------------@X03\_/@X01----@X03\____/@X01-----@X03\__/@X01----------@X03\_/@X01----@X03\____/@X01----@X03\_____\@X01--@X03\___/@X01-."
Newlines 15
PrintLn "@X01,-----------------------------------------------------------------------------."
PrintLn "@X01| |"
Print "@X01`-----------------------------------------------------------------------------'"
Gosub LABEL001
Print STRING006
For INTEGER004 = 0 To 3
AnsiPos TINTEGER005(INTEGER004 * 2 + 1), TINTEGER005(INTEGER004 * 2)
Print TSTRING007(INTEGER004)
Next
INTEGER004 = 0
Gosub LABEL004
Goto LABEL003
:LABEL001
For INTEGER001 = 1 To 15
STRING012 = "@X06{@X0F" + TSTRING003(INTEGER001) + "@X06}"
STRING001 = STRING012
INTEGER002 = 40 - Len(StripAtx(PCBMac(STRING012))) / 2
Gosub LABEL002
Gosub LABEL002
AnsiPos INTEGER002, 5 + INTEGER001
Print STRING001
Delay 2
STRING001 = STRING012
Gosub LABEL002
AnsiPos INTEGER002, 5 + INTEGER001
Print STRING001
Delay 2
STRING001 = STRING012
AnsiPos INTEGER002, 5 + INTEGER001
Print STRING001
Next
Return
:LABEL002
STRING001 = ReplaceStr(STRING001, "@X08", "
")
STRING001 = ReplaceStr(STRING001, "@X07", "@X08")
STRING001 = ReplaceStr(STRING001, "@X06", "@X08")
STRING001 = ReplaceStr(STRING001, "@X05", "@X08")
STRING001 = ReplaceStr(STRING001, "@X04", "@X08")
STRING001 = ReplaceStr(STRING001, "@X03", "@X08")
STRING001 = ReplaceStr(STRING001, "@X02", "@X08")
STRING001 = ReplaceStr(STRING001, "@X01", "@X08")
STRING001 = ReplaceStr(STRING001, "@X0F", "@X07")
STRING001 = ReplaceStr(STRING001, "@X0E", "@X06")
STRING001 = ReplaceStr(STRING001, "@X0D", "@X05")
STRING001 = ReplaceStr(STRING001, "@X0C", "@X04")
STRING001 = ReplaceStr(STRING001, "@X0B", "@X03")
STRING001 = ReplaceStr(STRING001, "@X0A", "@X02")
STRING001 = ReplaceStr(STRING001, "@X09", "@X01")
Return
:LABEL003
STRING008 = Inkey()
If (((STRING008 == "LEFT") || (STRING008 == "4")) && (INTEGER003 > 0)) Then
INTEGER004 = INTEGER003
Dec INTEGER003
Gosub LABEL004
Endif
If (((STRING008 == "RIGHT") || (STRING008 == "6")) && (INTEGER003 < 2)) Then
INTEGER004 = INTEGER003
Inc INTEGER003
Gosub LABEL004
Endif
If (STRING008 <> Chr(13)) Goto LABEL003
Print "@POFF@"
If (INTEGER003 == 0) Then
Color 7
AnsiPos 1, 23
Newlines 2
PrintLn "@X07AEGiS UNREAL ONELiNER 2.0 AMi/X"
Delay 9
End
Endif
If (INTEGER003 == 1) Goto LABEL005
If (INTEGER003 == 2) Then
INTEGER008 = GetX()
INTEGER009 = GetY()
Gosub LABEL012
AnsiPos INTEGER008, INTEGER009
Endif
Goto LABEL003
:LABEL004
AnsiPos TINTEGER005(INTEGER004 * 2 + 1), TINTEGER005(INTEGER004 * 2)
Print STRING006
Print TSTRING007(INTEGER004)
AnsiPos TINTEGER005(INTEGER003 * 2 + 1), TINTEGER005(INTEGER003 * 2)
Print STRING005
Print TSTRING007(INTEGER003)
Return
:LABEL005
Gosub LABEL006
AnsiPos 1, 8
PrintLn "@X05 uSE^aRROW^kEYS^tO^sELECT^a^cOLOR"
PrintLn "@X01-------------------------------------------------------------------------------"
PrintLn "@X0F @X01████ @X02████ @X03████ @X04████ @X05████ @X06████ @X07████ @X08████ @X09████ @X0A████ @X0B████ @X0C████ @X0D████ @X0E████ @X0F████"
PrintLn "@X0F @X01████ @X02████ @X03████ @X04████ @X05████ @X06████ @X07████ @X08████ @X09████ @X0A████ @X0B████ @X0C████ @X0D████ @X0E████ @X0F████"
PrintLn "@X0F @X07[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]"
PrintLn "@X01-------------------------------------------------------------------------------"
Newline
PrintLn "@X05 eNTER^hERE^yOUR^oNELINER"
PrintLn "@X01-------------------------------------------------------------------------------"
PrintLn "@X07..............................................................................."
PrintLn "@X01-------------------------------------------------------------------------------"
Gosub LABEL007
End
:LABEL006
For INTEGER001 = 1 To 15
STRING012 = "@X06{@X0F" + TSTRING003(INTEGER001) + "@X06}"
STRING001 = STRING012
INTEGER002 = 40 - Len(StripAtx(PCBMac(STRING012))) / 2
Gosub LABEL002
AnsiPos INTEGER002, 5 + INTEGER001
Print STRING001
Delay 2
STRING001 = STRING012
Gosub LABEL002
Gosub LABEL002
AnsiPos INTEGER002, 5 + INTEGER001
Print STRING001
Delay 2
STRING001 = STRING012
AnsiPos INTEGER002, 5 + INTEGER001
Print "@X07" + Space(Len(StripAtx(PCBMac(STRING012))))
Next
Return
:LABEL007
STRING009 = ""
Gosub LABEL011
AnsiPos 1, 17
:LABEL008
STRING008 = Inkey()
If (STRING008 == "") Goto LABEL008
If (STRING008 <> "") Then
If ((STRING008 == Chr(8)) && (Len(STRING009) > 0)) Then
STRING009 = Mid(STRING009, 1, Len(STRING009) - 1)
Print Chr(8) + "@X07." + Chr(8)
Endif
If (STRING008 == Chr(13)) Then
Goto LABEL009
Endif
If ((((((((Asc(STRING008) > 27) && (STRING008 <> "LEFT")) && (STRING008 <> "RIGHT")) && (STRING008 <> "UP")) && (STRING008 <> "DOWN")) && (STRING008 <> "INS")) && (Len(STRING009) < 77)) && (STRING008 <> "DEL")) Then
Color INTEGER006
Print STRING008
STRING009 = STRING009 + STRING008
Endif
If ((STRING008 == "LEFT") && (INTEGER006 > 1)) Then
INTEGER008 = GetX()
INTEGER009 = GetY()
INTEGER007 = INTEGER006
Dec INTEGER006
Gosub LABEL011
Color INTEGER006
AnsiPos INTEGER008, INTEGER009
Endif
If ((STRING008 == "RIGHT") && (INTEGER006 < 15)) Then
INTEGER008 = GetX()
INTEGER009 = GetY()
INTEGER007 = INTEGER006
Inc INTEGER006
Gosub LABEL011
Color INTEGER006
AnsiPos INTEGER008, INTEGER009
Endif
Endif
Goto LABEL008
:LABEL009
STRING009 = ScrText(1, 17, 77, 1)
STRING009 = Trim(STRING009, " ")
STRING009 = RTrim(STRING009, ".")
STRING002 = STRING009
Gosub LABEL015
STRING010 = STRING002
STRING009 = ScrText(1, 17, 79, 1)
If (Exist(PPEPath() + "AGSUOL.LOG")) Goto LABEL010
FCreate 2, PPEPath() + "AGSUOL.LOG", 1, 3
FPutLn 2, "+-- aEGIS^uNREAL^oNELINER^lOGFILE ---+"
FPutLn 2, "+-- cREATED " + String(Date())
FPutLn 2, "+------------------------------------+"
FPutLn 2, ""
FClose 2
:LABEL010
FAppend 2, PPEPath() + "AGSUOL.LOG", 1, 3
FPutLn 2, "+---------------------------------------------------------------+"
FPutLn 2, U_Name() + " oN " + String(Date()) + " aT " + String(Time())
FPutLn 2, "[" + StripAtx(STRING010) + "]"
FClose 2
STRING001 = STRING009
Gosub LABEL002
AnsiPos 1, 17
Print STRING001
Delay 2
STRING001 = STRING009
Gosub LABEL002
Gosub LABEL002
AnsiPos 1, 17
Print STRING001
Delay 2
STRING001 = STRING009
Gosub LABEL002
Gosub LABEL002
Gosub LABEL002
AnsiPos 1, 17
Print STRING001
Delay 2
If (Len(StripAtx(STRING010)) == 0) STRING011 = "@X07...........................@X02yOUR^lINE^wAS^nOT^aDDED@X07............................."
If (Len(StripAtx(STRING010)) <> 0) Then
STRING011 = "@X07.............................@X02yOUR^lINE^wAS^aDDED@X07..............................."
For INTEGER001 = 1 To 14
TSTRING003(INTEGER001) = TSTRING003(INTEGER001 + 1)
Next
TSTRING003(15) = STRING010
GetUser
For INTEGER001 = 1 To 14
TSTRING004(INTEGER001) = TSTRING004(INTEGER001 + 1)
Next
TSTRING004(15) = Mid("% " + Mixed(U_Name()) + " % " + U_City + " % " + String(Time()) + " % " + String(Date()) + " %", 1, 77)
FOpen 1, PPEPath() + "AGSUOL.DAT", 1, 3
For INTEGER001 = 1 To 15
FPutLn 1, TSTRING003(INTEGER001)
FPutLn 1, TSTRING004(INTEGER001)
Next
FClose 1
Endif
STRING001 = STRING011
Gosub LABEL002
Gosub LABEL002
AnsiPos 1, 17
Print STRING001
Delay 2
STRING001 = STRING011
Gosub LABEL002
AnsiPos 1, 17
Print STRING001
Delay 2
STRING001 = STRING011
AnsiPos 1, 17
Print STRING001
Delay 2
AnsiPos 1, 23
Newlines 2
PrintLn "@X07AEGiS UNREAL ONELiNER 2.0 AMi/X"
Delay 9
Return
:LABEL011
AnsiPos (INTEGER007 - 1) * 5 + 4, 12
Print "@X07 "
AnsiPos (INTEGER006 - 1) * 5 + 4, 12
Print "@X0F"
Return
:LABEL012
INTEGER010 = 1
INTEGER011 = 1
Gosub LABEL014
STRING008 = ""
:LABEL013
STRING008 = Inkey()
If ((STRING008 == "DOWN") && (INTEGER010 < 15)) Then
INTEGER011 = INTEGER010
Inc INTEGER010
Gosub LABEL014
Endif
If ((STRING008 == "UP") && (INTEGER010 > 1)) Then
INTEGER011 = INTEGER010
Dec INTEGER010
Gosub LABEL014
Endif
If (STRING008 <> Chr(27)) Goto LABEL013
STRING012 = "@X06{@X07" + TSTRING003(INTEGER010) + "@X06}"
INTEGER002 = 39 - Len(StripAtx(PCBMac(STRING012))) / 2
STRING012 = "@X07" + Space(INTEGER002) + STRING012
STRING012 = STRING012 + Space(79 - Len(StripAtx(PCBMac(STRING012))))
AnsiPos 1, 5 + INTEGER010
Print STRING012
Return
:LABEL014
STRING012 = "@X06{@X07" + TSTRING003(INTEGER011) + "@X06}"
INTEGER002 = 39 - Len(StripAtx(PCBMac(STRING012))) / 2
STRING012 = "@X07" + Space(INTEGER002) + STRING012
STRING012 = STRING012 + Space(79 - Len(StripAtx(PCBMac(STRING012))))
AnsiPos 1, 5 + INTEGER011
Print STRING012
STRING012 = Trim(TSTRING004(INTEGER010), " ")
INTEGER002 = 39 - Len(StripAtx(PCBMac(STRING012))) / 2
STRING012 = "@X21" + Space(INTEGER002) + STRING012
STRING012 = STRING012 + Space(79 - Len(StripAtx(PCBMac(STRING012))))
AnsiPos 1, 5 + INTEGER010
Print STRING012
Return
:LABEL015
STRING002 = ReplaceStr(STRING002, "@AUTOMORE", "@automore")
STRING002 = ReplaceStr(STRING002, "@BEEP", "@beep")
STRING002 = ReplaceStr(STRING002, "@CLREOL", "@clreol")
STRING002 = ReplaceStr(STRING002, "@CLS", "@cls")
STRING002 = ReplaceStr(STRING002, "@DELAY", "@delay")
STRING002 = ReplaceStr(STRING002, "@MORE", "@more")
STRING002 = ReplaceStr(STRING002, "@PAUSE", "@pause")
STRING002 = ReplaceStr(STRING002, "@WAIT", "@wait")
STRING002 = ReplaceStr(STRING002, "@POFF", "@poff")
STRING002 = ReplaceStr(STRING002, "@PON", "@pon")
STRING002 = ReplaceStr(STRING002, "@POS", "@pos")
STRING002 = ReplaceStr(STRING002, "@QOFF", "@qoff")
STRING002 = ReplaceStr(STRING002, "@QON", "@qon")
STRING002 = ReplaceStr(STRING002, "@WHO", "@who")
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 4 Color
; 36 Goto
; 121 Let
; 27 Print
; 19 PrintLn
; 26 If
; 1 FCreate
; 2 FOpen
; 1 FAppend
; 4 FClose
; 2 FGet
; 9 FPutLn
; 1 StartDisp
; 1 GetUser
; 29 Gosub
; 9 Return
; 12 Delay
; 3 Inc
; 3 Dec
; 1 Newline
; 3 Newlines
; 1 RdUNet
; 1 WrUNet
; 27 AnsiPos
; 1 KbdFlush
;
;
; ■ Functions used :
;
; 8 *
; 5 /
; 64 +
; 11 -
; 15 ==
; 10 <>
; 11 <
; 7 <=
; 5 >
; 14 >=
; 21 !
; 28 &&
; 9 ||
; 14 Len(
; 2 Mid()
; 7 Space()
; 6 Chr()
; 1 Asc()
; 1 RTrim()
; 3 Trim()
; 3 Date()
; 2 Time()
; 2 U_Name()
; 12 StripAtx()
; 3 Inkey()
; 5 String()
; 5 PPEPath()
; 2 PcbNode()
; 1 UN_Name()
; 1 UN_City()
; 1 Exist()
; 3 GetX()
; 3 GetY()
; 2 ScrText()
; 29 ReplaceStr()
; 1 Mixed()
; 9 PCBMac()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 7 For/Next
; 0 While/EndWhile
; 13 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------